07. Requirements and Challenge

Project Requirements

Requirements for a Passing Project Submission

In the PR2 Pick and Place simulator, there are three different tabletop configurations. For a passing submission, your code must succeed in recognizing:

  • 100% (3/3) objects in test1.world
  • 80% (4/5) objects in test2.world
  • 75% (6/8) objects in test3.world

A successful pick and place operation involves passing correct request parameters to the pick_place_server. Hence, for each test scene, correct values must be output to .yaml format for following parameters (see /pr2_robot/config/output.yaml for an example):

  • Object Name (Obtained from the pick list)
  • Arm Name (Based on the group of an object)
  • Pick Pose (Centroid of the recognized object)
  • Place Pose (Not a requirement for passing but needed to make the PR2 happy)
  • Test Set Number

Name your output files output_1.yaml, output_2.yaml, and output_3.yaml, respectively.

Once you have output .yaml files containing the correct message contents for your service request to pick_place_server you are done! But if you want the additional challenge, follow the steps described in the following sections lesson to complete the pick and place operation.

Additional Challenges

Follow the upcoming sections regarding collision mapping and using the pick_place_server to execute the pick and place operation!

Perception Hero Challenge:

For a heavier challenge, test the might of your perception pipeline against this complex tabletop configuration. Make yourself a pick list and decide where you want to put the items… maybe on another table? Maybe somewhere else? Have some fun with it!

To have a standout submission, you must submit a gif of your RViz window after successfully recognizing and labeling all the objects in this scene.

You think your perception pipeline is the best? Check out how others did in the #udacity_perception slack channel and share your results to find out who is the true Perception Hero!